//
//  LZTopic.m
//  LZHundredJie
//
//  Created by apple on 16/4/12.
//  Copyright © 2016年 m14a.cn. All rights reserved.
//

#import "LZTopic.h"

@implementation LZTopic

// 重写get方法
- (CGFloat)cellHeight
{
    // 如果已经计算过，就直接返回
    if (_cellHeight)    return _cellHeight;
    // 能来到下面,说明没有值
    // 计算顶部
    _cellHeight += 55;
    
    // 计算正文的高度,注意,一定要和正文在xib中的字体保持一致
    _cellHeight += [self.text sizeWithFont:[UIFont systemFontOfSize:15] maxW:ScreenW - 2 * LZMargin].height + LZMargin;
    
    // 中间内容的高度
    if (self.type != LZTopicTypeWord) { // 非段子，可能是图片、声音、视频帖子
        CGFloat middleW = ScreenW - 2 * LZMargin;
        // 中间内容的高度
        CGFloat middleH = middleW * self.height / self.width;
        if (middleH >= ScreenH) {   // 超过一个屏幕，就算是超长图片
            middleH = ScreenH * 0.3;    // 如果高于手机屏幕的0.3
            self.bigPicture = YES;
        }
        
        CGFloat middleX = LZMargin;
        CGFloat middleY = _cellHeight;
        self.middleF = CGRectMake(middleX, middleY, middleW, middleH);
        
        _cellHeight += middleH + LZMargin;
    }
    
    if (self.top_cmt.count) { // 有最热评论
        
        _cellHeight += 21; // 顶部标题的高度
        
        // 拿到用户名
        NSString *userName = self.top_cmt.firstObject[@"user"][@"username"];
        NSString *content = self.top_cmt.firstObject[@"content"];
        if (content.length == 0) { // 没有文字内容，是个语音评论
            content = @"[语音评论]";
        }
        
        NSString *topCmtText = [NSString stringWithFormat:@"%@ : %@", userName, content];
        //  = 底部内容的高度 + 与底部的View的间距
        _cellHeight += [topCmtText sizeWithFont:[UIFont systemFontOfSize:16] maxW:ScreenW - 2 * LZMargin].height + LZMargin;

    }
    
    // 计算底部
    /*
     frame.size.height -= LZMargin;因为这句代码,本来就应该加一个间距的在正文和底部的View
     但是因为在LZTopicCell.m里面的这句代码，导致cell会往内部压缩,所以,那个加一个LZMargin
     不好使,得加2个才好使
     加个间距
     */
    _cellHeight += 35 + LZMargin;
    
    return _cellHeight;
}


@end
